package backed.dto;

import io.swagger.v3.oas.annotations.media.Schema;
import jakarta.validation.constraints.NotNull;
import lombok.Data;

@Schema(description = "发布二手商品请求")
@Data
public class PublishRequest {
    @Schema(description = "用户ID", example = "1", requiredMode = Schema.RequiredMode.REQUIRED)
    @NotNull
    private Long userId;
    
    @Schema(description = "商品标题", example = "二手笔记本电脑", requiredMode = Schema.RequiredMode.REQUIRED)
    @NotNull
    private String title;

    @Schema(description = "商品描述", example = "九成新，性能良好，无任何损坏")
    private String description;
    
    @Schema(description = "商品价格", example = "3999.00", requiredMode = Schema.RequiredMode.REQUIRED)
    @NotNull
    private Double price;

    @Schema(description = "商品新旧程度", example = "九成新", allowableValues = {"全新", "九成新", "八成新", "七成新", "六成新", "五成新及以下"})
    private String conditionLevel;

    @Schema(description = "商品分类", example = "电子产品", allowableValues = {"电子产品", "家具", "服装", "书籍", "运动器材", "其他"})
    private String category;

    @Schema(description = "商品图片URLs，多个URL用逗号分隔", example = "/uploads/images/123.jpg,/uploads/images/456.jpg")
    private String images;

}
